home *** CD-ROM | disk | FTP | other *** search
/ SPACE 2 / SPACE - Library 2 - Volume 1.iso / apps / 82 / tutorc.fra < prev    next >
Text File  |  1986-11-20  |  8KB  |  176 lines

  1. 0660103030566
  2. 9[....................................................]
  3. ü
  4. C,LELANGAGEë
  5. Ç
  6.      BienvenueàcettepremièreleçonsurlelangageC.Cette
  7. séried'articlesseveutuneméthoded'apprentissagepourle
  8. néophiteenC.Jeprendraitoutefoispouraquisquelelecteura
  9. quelqueexpérienceenprogrammationetqu'ilconnaitcertaines
  10. notionstellesquelesboucles,lesexpressionsconditionnelles,
  11. etc.
  12.  
  13.      Unepremièremiseengarde.LelangageCn'estpasunlangage
  14. facile.C'estunlangagesouple,générantuncodecompactet
  15. rapidemaisilesttrèsdifficileà'débugger'.Lesmessages
  16. d'erreurs,quandilyena(...),nesontpastrèssignificatifs
  17. etpeuventreféreràdesinstructionscorrectes(l'erreurréelle
  18. pouvantêtreàpeuprèsn'importeou...)
  19.  
  20.      Unedeuxièmemiseengarde.LeCquiexisteactuellementsur
  21. leSTestunlangageücompiléÇ.C'estadirequ'iln'estpas
  22. directementexécutablecommelesontleüSTBASICÇouleüLOGOÇ
  23. d'üAtariÇ(cesontdeslangagesinterprétés).Vousnepouvezpaspar
  24. exempletaperunelignedecodeetvoir(ouavoir)immédiatement
  25. soneffet.Plusieursétapessontnécessairesavantdepouvoir
  26. accéderauprogramme.Trouverlesbonnesétapes,lesexécuterdans
  27. l'ordre,voilàquiprendradanslespremiersessaisplusdetemps
  28. qued'écrireleprogrammelui-même.
  29.  
  30.      Sicetteintroductionnevousaspasdécouragés,vousêtes
  31. prêtspourunpremieressai.
  32.  
  33.      Ilvousfautd'abordunéditeurdeprogramme.Plusieurssont
  34. disponiblessurlemarché:üMinceÇouüMicro-EmacsÇ,oubienplus
  35. simplementuntraitementdetextecommeü1st-WordÇ.Aveccedernier
  36. ilfautprendrelaprécautiondenepassélectionnerlemodeWP,
  37. carilinsèredanslecodedescaractèresdecontrôlequine
  38. serontpasreconnuspaslecompilateur.
  39.  
  40.      Tapezleslignessuivantes:
  41.  
  42. ü
  43.      #include"osbind.h"
  44.  
  45.      main()
  46.      {
  47.      Cconws("VoilàmonpremierprogrammeenC");
  48.      Cconin();
  49.      }
  50.  
  51.  
  52.  
  53. Ç     Sauvegardezcetextesouslenomdefichier"üPREMIER.CÇ"
  54.  
  55.  
  56.  
  57.      Analysonsmaintenantceprogrammeendétail.Lapremière
  58. ligneü#includeÇü"osbind.h"Çcontientlecaractère#.Cesymbole
  59. annonceaucompilateurunecommande'préprocesseur'.Ilnedoit
  60. êtreutiliséquedanscebut(àmoinsdeparaîtreàl'interieur
  61. d'unephraseentreguillemets).LacommandepréprocésseurüincludeÇ
  62. apourbutd'incluredanslecodelefichierüosbind.hÇ.Cefichier
  63. contientlesdéfinitionsdesfonctionsüCconwsÇetüCconinÇdu
  64. programme,etdefaçonplusgénéraleilcontientlesdéfinitions
  65. dusystèmed'exploitationüCPM-68KÇ.Cetypedefichier,contenant
  66. desdéfinitionsestcaractériséparsonextentionü.hÇ.Parexemple
  67. lesfichiersüvdibind.hÇetüaesbind.hÇsontlesdéfinitionsduüVDIÇet
  68. üAESÇ;cesontlespointsd'entréesduüGEMÇ.Noterquelenomdu
  69. fichieràincluredoitêtreenguillemets.
  70.  
  71.  
  72.      LadeuxièmeüÇligne,ümain()Ç,indiqueaucompilateurque
  73. l'exécutionduprogammedoitdébuteràcetendroit.Lafonction
  74. ümain()Çpeutêtreenfaitn'importeoudansletexte.EnüCÇ,
  75. exeptionsfaitesdescommandespréprocesseurs,iln'existequedes
  76. fonctions.Fontionsquifontappelàd'autresfonctionsquifont
  77. appelàdesfonctionsencore,etc...Lapremièrefonctionàêtre
  78. exécutéeesttoujoursümain()Ç,mêmesiellen'estpaslapremièreà
  79. paraîtredansletexte.
  80.  
  81.  
  82.      Unefonctionsedistingueparlaprésencedeparenthèsesqui
  83. suiventtoujourslenomdelafontion.Cesparenthèsescontiennent
  84. leoulesargumentsdelafonction.Lafonctionümain()Çneprend
  85. aucunargument,lesparenthèses(obligatoires)sontdoncvides.La
  86. fonctionüCconwsÇprendunargument,laphraseü"Voilàmonpremier
  87. programmeenC"Ç,cettefontionvaaffichercetteligneàl'écran,
  88. àlapositioncouranteducurseur,icilecoinsupérieurgauche
  89. (Cconwsestl'abréviationde'üconsolewritestringÇ').Les
  90. guillemetsdélimitantlaphrasesontnécessaires,demêmequele
  91. pointvirgulequiterminelaligneüCconws("Voilamonpremier
  92. programmeenC");ÇL'absencedecetteponctuationentraîneraun
  93. messaged'erreuràlacompilation.     Lepointvirguleestce
  94. qu'onappelleenjargoninformatiqueundélimiteur.Ilpréciseque
  95. toutcequileprécèdejusqu'aupointviguleantérieuroujusqu'au
  96. débutdelafonctionestuneinstructioncomplèteparelle-même,
  97. lepointvirguledélimitantlecorpsdel'instructionquile
  98. précède.
  99.  
  100.  
  101.      L'instructionsuivanteüCconin();Çattendqu'uncaractère
  102. quelconquesoittapéauclavier,etl'afficheàl'écran(sic'est
  103. uncaractèreASCIIaffichable).üCconinÇestl'abréviationde
  104. 'üconsoleinputÇ'.Ilexisteunefontionquifaitlemêmetravail,
  105. maissansafficherlecaractère,c'estüCnecin()Ç.Cettedernière
  106. doitêtreutiliséepourunepauseàl'intérieurd'unprogramme,
  107. parexemple.
  108.  
  109.  
  110.      Aladernièreligneonretrouveuneaccoladefermante,'ü}Ç'
  111. celleciesttoujoursjumelléeàuneaccoladeouvrante'ü{Ç'.Elles
  112. serventàdélimiterlechampdelafonctionümain()Ç,'ü{Ç'marquant
  113. ledébutdelafonctionet'ü}Ç'lafin.Ellesontlamêmeutilité
  114. danslestestsavecüWHILEÇouüIF-THEN-ELSEÇcommenousleverrons
  115. ultérieurement.
  116.  
  117.  
  118.      Ilnousrestemaintenantà"compiler"ceprogramme.La
  119. compilationestleprocédéparlequelontransformeletextedu
  120. programmeeninstructionsbinaires(i.e.langagemachine)etplace
  121. cesinstructionsenunfichier,avecsuffixeü.PRGÇ.Cefichierest
  122. directementexécutable,c-a-dqu'ilnerequiertaucunautre
  123. fichierpourfonctionner(paroppositionàunprogrammelogo,par
  124. exemple,quiabesoindeüLOGO.PRGÇpourfonctionner).
  125.  
  126.  
  127.      Lesétapesdelacompilationvarientd'uncompilateurà
  128. l'autre.PourlecompilateurduüTOOLKITÇ,lesétapessontles
  129. suivantes:
  130.  
  131.      üCP68KPREMIER.CPREMIER.I
  132.      C068PREMIER.IPREMIER.1PREMIER.2PREMIER.3-F
  133.     C168PREMIER.1PREMIER.2PREMIER.S
  134.      AS68-L-UPREMIER.SÇ
  135.  
  136.      üLINK68[U]PREMIER.68K=APSTARTÇ,üPREMIER,GEMLIBÇ
  137. ü     RELMODPREMIERÇ
  138.  
  139.      LesquatrespremièresétapesproduisentlefichierüPREMIER.SÇ,
  140. c'estlecodeassembleur(selonlescodesmémotecniquesüMotorolaÇ),
  141. lesdeuxdernièresvontdonnerlefichierdésiréüPREMIER.PRGÇ
  142.  
  143.      Lesnomsdudébutdechaqunedesquatreslignesci-dessus
  144. correspondentàunfichierdeladisquette"üCompilerDiskÇ"et
  145. pourlesdeuxdernières,àladisquette"üLinkerDiskÇ".Vousdevez
  146. exécutercesprogrammesenentrantlesparamètresquisuiventle
  147. nomdanslaligne,delafaçonsuivante:'cliquer'unefoislenom
  148. duprogramme,sélectionnerdansüOPTIONSÇ(delabarredemenus),
  149. üInstallApplicationÇetécrirelesparamètresrequis.
  150.  
  151.  
  152.      Unedeuxièmeméthodeconsisteàappelerleprogrammne
  153. üCOMMAND.PRGÇ(ilestsurchacunedesdisquettesmentionnées)et
  154. écrirelalignecommeci-dessus.
  155.  
  156.  
  157.      Unetroisièmeméthode,laplusutilisée,faitappelau
  158. fichier.üBATÇ.Cesfichierscontiennentl'équivalentdeslignesci-
  159. dessus.ParexemplelefichierüC.BATÇcontientlesquatres
  160. premièreslignesci-dessus;onexécutelefichierüC.BATÇen
  161. appelantleprogrammeüBATCH.PRGÇetenécrivantüCPREMIERÇ(etnon
  162. üC.BATPREMIER.CÇcommel'onauraitpus'yattendre...).Pourles
  163. deuxdernièreslignes,appelerüBATCH.PRGÇaveclesparamètresüLINKC
  164. PREMIERÇ(lenomdecederniervarieselonlaversionduüTOOLKITÇ).
  165.  
  166.  
  167.      C'estmaintenantterminé,votrepremierprogrammeapparait
  168. souslenomüPREMIER.PRGÇ.Essayez-le...Alaprochaineleçonnous
  169. verronscommentutiliserlesbouclesetlesexpressions
  170. conditionnelles.
  171.  
  172.  
  173.  
  174. ü                      ëAlainBirtzÇ
  175.  
  176.